package ren.kane.asdppp.transaction.change.classification;

import ren.kane.asdppp.classification.PaymentClassification;
import ren.kane.asdppp.schedule.PaymentSchedule;
import ren.kane.asdppp.Employee;
import ren.kane.asdppp.transaction.change.ChangeEmployeeTransaction;

/**
 * @author renrk(1275) on 2019-04-20 9:15 PM
 **/
public abstract class ChangeClassificationTransaction extends ChangeEmployeeTransaction {

    public ChangeClassificationTransaction() {
    }

    public ChangeClassificationTransaction(int empId) {
        super(empId);
    }

    @Override
    protected void change(Employee employee) {
        employee.setPaymentClassification(getClassification());
        employee.setPaymentSchedule(getSchedule());
    }

    protected abstract PaymentClassification getClassification();

    protected abstract PaymentSchedule getSchedule();
}
